package cn.snowheart.facade;

/**
 * 外观模式的测试类
 * 封装、简化、固化顺序一组方法的调用
 *
 * @author liuwanxiang
 * @version 2019/07/08
 */
public class FacadeTest {

    public static void main(String[] args) {

        // 未使用外观模式
        CPU cpu = new CPU();
        Disk disk = new Disk();
        Memory memory = new Memory();

        // 开机
        cpu.startup();
        disk.startup();
        memory.startup();

        // 关机
        cpu.shutdown();
        disk.shutdown();
        memory.shutdown();

        // 使用外观模式
        Computer computer = new Computer(cpu, disk, memory);
        computer.startup();
        computer.shutdown();

    }

}
